package com.ruoyi.common.cmb.entity;

import lombok.Data;

/**
 * 企银支付单笔经办 BB1PAYOP - 参数 - bb1payopx1
 */
@Data
public class BB1PAYOPTwoParam {
    /**
     * 转出帐号
     */
    private String dbtAcc;

    /**
     * 收方帐号
     */
    private String crtAcc;

    /**
     * 收方户名
     * 最长100汉字
     */
    private String crtNam;

    /**
     * 币种
     * 只支持10人民币
     */
    private String ccyNbr;

    /**
     * 交易金额
     */
    private String trsAmt;

    /**
     * 用途
     * 展示在回单,最长100汉字
     */
    private String nusAge;

    /**
     * 业务参考号
     * 业务参考号，必须唯一。
     * 业务参考号（YURREF）是每笔交易的唯一编号，是防止重复提交的重要手段，如需重复发送请求，请务必保证同一笔交易的业务参考号不变，否则会存在重复提交风险。
     */
    private String yurRef;

    //=================以下字段为非必填=================

    /**
     * 记账子单元编号
     * 目前生产上记账子单元编号为10位
     */
    private String dmaNbr;

    /**
     * 收方开户行名称
     * 最长30汉字
     * 1、非标准银联卡，必须要填行名称或者联行号；其他情况可空，但优先使用客户传入；
     * 2、若设置了收方限制，则行名联行号都必传；
     * 3、若同时输入行名和联行号，则以联行号为准进行汇出；
     * 4、若收方非招行户，请尽量补充完整账户信息以提高支付成功率；
     */
    private String crtBnk;

    /**
     * 收方开户行地址
     * 最长30汉字
     * 以下任意情况，收方开户行地址可不传：
     * a.收方为招行账户；
     * b.已输入收方开户行名称或收方开户行联行号（若客户未填写开户地，计费将根据行名/行号判断开户地进行同城异地判断，若行名中不含明确的地址信息，可能存在同城异地的误判，请知悉）；
     */
    private String crtAdr;

    /**
     * 收方行联行号
     * 1、非标准银联卡，必须要填行名称或者联行号；其他情况可空，但优先使用客户传入；﻿﻿﻿﻿﻿﻿
     * 2、若设置了收方限制，则行名联行号都必传；
     * 3、若同时输入行名和联行号，则以联行号为准进行汇出；
     * 4、若收方非招行户，请尽量补充完整账户信息以提高支付成功率；﻿﻿﻿﻿
     * 若客户未填写收方开户行联行号，计费将根据系统识别的行号进行开户地判断，可能存在同城异地的误判，请知悉
     */
    private String brdNbr;

    /**
     * 系统内标志
     * 收方为招行户：传空或Y；
     * 收方为他行户：传N；
     */
    private String bnkFlg;

    /**
     * 期望日
     */
    private String eptDat;

    /**
     * 期望时间
     */
    private String eptTim;

    /**
     * 结算通道
     *
     *   G 普通
     *   Q 快速
     *   R 实时-超网
     *   I 智能路由
     *   输入空时默认为Q快速;
     *
     * 注意：
     *
     *   1.R实时走超网通道，支持收方为行内户，但是手续费不同，收方为行外的是按照跨行标准收费的，收方为行内的是按照行内标准收费的。
     *   2.超网通道人行限额100万。
     *   3.结算方式选择“R 实时”：
     *   收方为招行账户（含个人及对公账户），则转账最少要素为：收方账号+收方户名
     *   收方为非招行账户，且为标准银联卡，则转账最少要素为：收方账号+收方户名
     *   收方为非招行账户，且为非标准银联卡（如对公账户等），则转账最少要素为：收方账号+收方户名+收方行名/总行行号；
     *   4.结算方式选择“G普通”、“Q快速”：
     *   收方为招行账户（含个人及对公账户），则转账最少要素为：收方账号+收方户名
     *   收方为非招行账户，则转账最少要素为：收方账号+收方户名+收方行名/行号
     *   5.结算方式选择“I 智能路由模式 ”：
     *   根据输入的收方信息择优选择人行大额/小额/超级网银/同行支付系统进行汇出，无需客户手动选择支付汇路，规则如下：
     *   a. 客户需输入账号、户名、行名或行号，其中行名或行号无需区分总行或支行（标准银联卡只需输入账号、户名）；
     *   b. 若收方开户行支持超网入账，则优先通过超网渠道进行汇出，保障收方入账效率；
     *   c. 当选择非直汇模式（drpFlg字段传A）时，若未输入行号且输入行名不规范，则交易可能落地人工处理，影响入账时效；
     *   d. 智能路由仅用于辅助识别汇路，请尽可能完善支付要素，提升支付成功率；
     */
    private String stlChn;

    /**
     * 收方编号
     */
    private String crtSqn;

    /**
     * 业务摘要
     */
    private String busNar;

    /**
     * 通知方式一（邮箱）
     */
    private String ntfCh1;

    /**
     * 通知方式二（手机号）
     */
    private String ntfCh2;

    /**
     * 业务种类
     *   100001    普通汇兑 （默认值）
     *   101001    慈善捐款
     *   101002    其他
     *   注：只有结算通道为“G 普通”或者“Q 快速”时，才支持101001、101002方式优惠手续费。
     */
    private String trsTyp;

    /**
     * 行内收方账号户名校验
     *  1：校验
     *  空或者其他值：不校验
     *  如果为1，行内收方账号与户名不相符则支付经办失败。
     */
    private String rcvChk;

    /**
     * 直汇普通标志
     *  1：校验
     *  空时为A； A-普通 B-直汇（失败后不落人工处理）。
     *  注：只有结算通道为“G 普通”或者“Q 快速”时，才支持。
     */
    private String drpFlg;
}
